package cn.design.realize;

/**
 * @author dlq
 * @description 消息类型抽
 *      Abstraction：抽象类，抽象部分的接口。通常在这个对象里面，要维护一个实现部分的对象引用，在抽象对象里面的方法，需要调用实现部分的对象来完成。这个对象里面的方法，通常都是跟具体的业务相关的方法
 *      1. 维护一个实现部分的对象引用 也是就 ImplementorMessageSendMode ,具体的业务操作
 *      2. 该对象定义的是 与业务操作相关的方法,通常都是跟具体的业务相关的方法
 *
 * @date 2020/9/24 10:52
 * @since 1.0
 */
public abstract class AbstractionMessageType {
    protected ImplementorMessageSendMode messageSendMode;
    public AbstractionMessageType(ImplementorMessageSendMode messageSendMode){
        this.messageSendMode = messageSendMode;
    }

    /**
     * @description 调用 ImplementorMessageSendMode 引用的方法，实现具体的业务操作
     * @param info
     * @param: user
     * @return void
     * @author dlq
     * @date 2020/9/24 11:09
     */
    public abstract void send(String info, String user);
}
